home *** CD-ROM | disk | FTP | other *** search
- // Copyright 2014 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
-
- // Special unload event. We don't use the DOM unload because that slows down
- // tab shutdown. On the other hand, onUnload might not always fire, since
- // Chrome will terminate renderers on shutdown (SuddenTermination).
-
- // Implement a primitive subset of the Event interface as needed, since if this
- // was to use the real event object there would be a circular dependency.
- var listeners = [];
-
- exports.addListener = function(listener) {
- $Array.push(listeners, listener);
- };
-
- exports.removeListener = function(listener) {
- for (var i = 0; i < listeners.length; ++i) {
- if (listeners[i] == listener) {
- $Array.splice(listeners, i, 1);
- return;
- }
- }
- };
-
- exports.wasDispatched = false;
-
- // dispatch() is called from C++.
- exports.dispatch = function() {
- exports.wasDispatched = true;
- for (var i = 0; i < listeners.length; ++i)
- listeners[i]();
- };
-